package com.zhongwang.mms.gen.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class AccToolStatisExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public AccToolStatisExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andStatisIdIsNull() {
            addCriterion("statis_id is null");
            return (Criteria) this;
        }

        public Criteria andStatisIdIsNotNull() {
            addCriterion("statis_id is not null");
            return (Criteria) this;
        }

        public Criteria andStatisIdEqualTo(Integer value) {
            addCriterion("statis_id =", value, "statisId");
            return (Criteria) this;
        }

        public Criteria andStatisIdNotEqualTo(Integer value) {
            addCriterion("statis_id <>", value, "statisId");
            return (Criteria) this;
        }

        public Criteria andStatisIdGreaterThan(Integer value) {
            addCriterion("statis_id >", value, "statisId");
            return (Criteria) this;
        }

        public Criteria andStatisIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("statis_id >=", value, "statisId");
            return (Criteria) this;
        }

        public Criteria andStatisIdLessThan(Integer value) {
            addCriterion("statis_id <", value, "statisId");
            return (Criteria) this;
        }

        public Criteria andStatisIdLessThanOrEqualTo(Integer value) {
            addCriterion("statis_id <=", value, "statisId");
            return (Criteria) this;
        }

        public Criteria andStatisIdIn(List<Integer> values) {
            addCriterion("statis_id in", values, "statisId");
            return (Criteria) this;
        }

        public Criteria andStatisIdNotIn(List<Integer> values) {
            addCriterion("statis_id not in", values, "statisId");
            return (Criteria) this;
        }

        public Criteria andStatisIdBetween(Integer value1, Integer value2) {
            addCriterion("statis_id between", value1, value2, "statisId");
            return (Criteria) this;
        }

        public Criteria andStatisIdNotBetween(Integer value1, Integer value2) {
            addCriterion("statis_id not between", value1, value2, "statisId");
            return (Criteria) this;
        }

        public Criteria andStatisDetailIsNull() {
            addCriterion("statis_detail is null");
            return (Criteria) this;
        }

        public Criteria andStatisDetailIsNotNull() {
            addCriterion("statis_detail is not null");
            return (Criteria) this;
        }

        public Criteria andStatisDetailEqualTo(String value) {
            addCriterion("statis_detail =", value, "statisDetail");
            return (Criteria) this;
        }

        public Criteria andStatisDetailNotEqualTo(String value) {
            addCriterion("statis_detail <>", value, "statisDetail");
            return (Criteria) this;
        }

        public Criteria andStatisDetailGreaterThan(String value) {
            addCriterion("statis_detail >", value, "statisDetail");
            return (Criteria) this;
        }

        public Criteria andStatisDetailGreaterThanOrEqualTo(String value) {
            addCriterion("statis_detail >=", value, "statisDetail");
            return (Criteria) this;
        }

        public Criteria andStatisDetailLessThan(String value) {
            addCriterion("statis_detail <", value, "statisDetail");
            return (Criteria) this;
        }

        public Criteria andStatisDetailLessThanOrEqualTo(String value) {
            addCriterion("statis_detail <=", value, "statisDetail");
            return (Criteria) this;
        }

        public Criteria andStatisDetailLike(String value) {
            addCriterion("statis_detail like", value, "statisDetail");
            return (Criteria) this;
        }

        public Criteria andStatisDetailNotLike(String value) {
            addCriterion("statis_detail not like", value, "statisDetail");
            return (Criteria) this;
        }

        public Criteria andStatisDetailIn(List<String> values) {
            addCriterion("statis_detail in", values, "statisDetail");
            return (Criteria) this;
        }

        public Criteria andStatisDetailNotIn(List<String> values) {
            addCriterion("statis_detail not in", values, "statisDetail");
            return (Criteria) this;
        }

        public Criteria andStatisDetailBetween(String value1, String value2) {
            addCriterion("statis_detail between", value1, value2, "statisDetail");
            return (Criteria) this;
        }

        public Criteria andStatisDetailNotBetween(String value1, String value2) {
            addCriterion("statis_detail not between", value1, value2, "statisDetail");
            return (Criteria) this;
        }

        public Criteria andStatisDateIsNull() {
            addCriterion("statis_date is null");
            return (Criteria) this;
        }

        public Criteria andStatisDateIsNotNull() {
            addCriterion("statis_date is not null");
            return (Criteria) this;
        }

        public Criteria andStatisDateEqualTo(String value) {
            addCriterion("statis_date =", value, "statisDate");
            return (Criteria) this;
        }

        public Criteria andStatisDateNotEqualTo(String value) {
            addCriterion("statis_date <>", value, "statisDate");
            return (Criteria) this;
        }

        public Criteria andStatisDateGreaterThan(String value) {
            addCriterion("statis_date >", value, "statisDate");
            return (Criteria) this;
        }

        public Criteria andStatisDateGreaterThanOrEqualTo(String value) {
            addCriterion("statis_date >=", value, "statisDate");
            return (Criteria) this;
        }

        public Criteria andStatisDateLessThan(String value) {
            addCriterion("statis_date <", value, "statisDate");
            return (Criteria) this;
        }

        public Criteria andStatisDateLessThanOrEqualTo(String value) {
            addCriterion("statis_date <=", value, "statisDate");
            return (Criteria) this;
        }

        public Criteria andStatisDateLike(String value) {
            addCriterion("statis_date like", value, "statisDate");
            return (Criteria) this;
        }

        public Criteria andStatisDateNotLike(String value) {
            addCriterion("statis_date not like", value, "statisDate");
            return (Criteria) this;
        }

        public Criteria andStatisDateIn(List<String> values) {
            addCriterion("statis_date in", values, "statisDate");
            return (Criteria) this;
        }

        public Criteria andStatisDateNotIn(List<String> values) {
            addCriterion("statis_date not in", values, "statisDate");
            return (Criteria) this;
        }

        public Criteria andStatisDateBetween(String value1, String value2) {
            addCriterion("statis_date between", value1, value2, "statisDate");
            return (Criteria) this;
        }

        public Criteria andStatisDateNotBetween(String value1, String value2) {
            addCriterion("statis_date not between", value1, value2, "statisDate");
            return (Criteria) this;
        }

        public Criteria andStatisTypeIsNull() {
            addCriterion("statis_type is null");
            return (Criteria) this;
        }

        public Criteria andStatisTypeIsNotNull() {
            addCriterion("statis_type is not null");
            return (Criteria) this;
        }

        public Criteria andStatisTypeEqualTo(String value) {
            addCriterion("statis_type =", value, "statisType");
            return (Criteria) this;
        }

        public Criteria andStatisTypeNotEqualTo(String value) {
            addCriterion("statis_type <>", value, "statisType");
            return (Criteria) this;
        }

        public Criteria andStatisTypeGreaterThan(String value) {
            addCriterion("statis_type >", value, "statisType");
            return (Criteria) this;
        }

        public Criteria andStatisTypeGreaterThanOrEqualTo(String value) {
            addCriterion("statis_type >=", value, "statisType");
            return (Criteria) this;
        }

        public Criteria andStatisTypeLessThan(String value) {
            addCriterion("statis_type <", value, "statisType");
            return (Criteria) this;
        }

        public Criteria andStatisTypeLessThanOrEqualTo(String value) {
            addCriterion("statis_type <=", value, "statisType");
            return (Criteria) this;
        }

        public Criteria andStatisTypeLike(String value) {
            addCriterion("statis_type like", value, "statisType");
            return (Criteria) this;
        }

        public Criteria andStatisTypeNotLike(String value) {
            addCriterion("statis_type not like", value, "statisType");
            return (Criteria) this;
        }

        public Criteria andStatisTypeIn(List<String> values) {
            addCriterion("statis_type in", values, "statisType");
            return (Criteria) this;
        }

        public Criteria andStatisTypeNotIn(List<String> values) {
            addCriterion("statis_type not in", values, "statisType");
            return (Criteria) this;
        }

        public Criteria andStatisTypeBetween(String value1, String value2) {
            addCriterion("statis_type between", value1, value2, "statisType");
            return (Criteria) this;
        }

        public Criteria andStatisTypeNotBetween(String value1, String value2) {
            addCriterion("statis_type not between", value1, value2, "statisType");
            return (Criteria) this;
        }

        public Criteria andStatisPathIsNull() {
            addCriterion("statis_path is null");
            return (Criteria) this;
        }

        public Criteria andStatisPathIsNotNull() {
            addCriterion("statis_path is not null");
            return (Criteria) this;
        }

        public Criteria andStatisPathEqualTo(String value) {
            addCriterion("statis_path =", value, "statisPath");
            return (Criteria) this;
        }

        public Criteria andStatisPathNotEqualTo(String value) {
            addCriterion("statis_path <>", value, "statisPath");
            return (Criteria) this;
        }

        public Criteria andStatisPathGreaterThan(String value) {
            addCriterion("statis_path >", value, "statisPath");
            return (Criteria) this;
        }

        public Criteria andStatisPathGreaterThanOrEqualTo(String value) {
            addCriterion("statis_path >=", value, "statisPath");
            return (Criteria) this;
        }

        public Criteria andStatisPathLessThan(String value) {
            addCriterion("statis_path <", value, "statisPath");
            return (Criteria) this;
        }

        public Criteria andStatisPathLessThanOrEqualTo(String value) {
            addCriterion("statis_path <=", value, "statisPath");
            return (Criteria) this;
        }

        public Criteria andStatisPathLike(String value) {
            addCriterion("statis_path like", value, "statisPath");
            return (Criteria) this;
        }

        public Criteria andStatisPathNotLike(String value) {
            addCriterion("statis_path not like", value, "statisPath");
            return (Criteria) this;
        }

        public Criteria andStatisPathIn(List<String> values) {
            addCriterion("statis_path in", values, "statisPath");
            return (Criteria) this;
        }

        public Criteria andStatisPathNotIn(List<String> values) {
            addCriterion("statis_path not in", values, "statisPath");
            return (Criteria) this;
        }

        public Criteria andStatisPathBetween(String value1, String value2) {
            addCriterion("statis_path between", value1, value2, "statisPath");
            return (Criteria) this;
        }

        public Criteria andStatisPathNotBetween(String value1, String value2) {
            addCriterion("statis_path not between", value1, value2, "statisPath");
            return (Criteria) this;
        }

        public Criteria andStatisFileTypeIsNull() {
            addCriterion("statis_file_type is null");
            return (Criteria) this;
        }

        public Criteria andStatisFileTypeIsNotNull() {
            addCriterion("statis_file_type is not null");
            return (Criteria) this;
        }

        public Criteria andStatisFileTypeEqualTo(String value) {
            addCriterion("statis_file_type =", value, "statisFileType");
            return (Criteria) this;
        }

        public Criteria andStatisFileTypeNotEqualTo(String value) {
            addCriterion("statis_file_type <>", value, "statisFileType");
            return (Criteria) this;
        }

        public Criteria andStatisFileTypeGreaterThan(String value) {
            addCriterion("statis_file_type >", value, "statisFileType");
            return (Criteria) this;
        }

        public Criteria andStatisFileTypeGreaterThanOrEqualTo(String value) {
            addCriterion("statis_file_type >=", value, "statisFileType");
            return (Criteria) this;
        }

        public Criteria andStatisFileTypeLessThan(String value) {
            addCriterion("statis_file_type <", value, "statisFileType");
            return (Criteria) this;
        }

        public Criteria andStatisFileTypeLessThanOrEqualTo(String value) {
            addCriterion("statis_file_type <=", value, "statisFileType");
            return (Criteria) this;
        }

        public Criteria andStatisFileTypeLike(String value) {
            addCriterion("statis_file_type like", value, "statisFileType");
            return (Criteria) this;
        }

        public Criteria andStatisFileTypeNotLike(String value) {
            addCriterion("statis_file_type not like", value, "statisFileType");
            return (Criteria) this;
        }

        public Criteria andStatisFileTypeIn(List<String> values) {
            addCriterion("statis_file_type in", values, "statisFileType");
            return (Criteria) this;
        }

        public Criteria andStatisFileTypeNotIn(List<String> values) {
            addCriterion("statis_file_type not in", values, "statisFileType");
            return (Criteria) this;
        }

        public Criteria andStatisFileTypeBetween(String value1, String value2) {
            addCriterion("statis_file_type between", value1, value2, "statisFileType");
            return (Criteria) this;
        }

        public Criteria andStatisFileTypeNotBetween(String value1, String value2) {
            addCriterion("statis_file_type not between", value1, value2, "statisFileType");
            return (Criteria) this;
        }

        public Criteria andStatisUpUserIsNull() {
            addCriterion("statis_up_user is null");
            return (Criteria) this;
        }

        public Criteria andStatisUpUserIsNotNull() {
            addCriterion("statis_up_user is not null");
            return (Criteria) this;
        }

        public Criteria andStatisUpUserEqualTo(String value) {
            addCriterion("statis_up_user =", value, "statisUpUser");
            return (Criteria) this;
        }

        public Criteria andStatisUpUserNotEqualTo(String value) {
            addCriterion("statis_up_user <>", value, "statisUpUser");
            return (Criteria) this;
        }

        public Criteria andStatisUpUserGreaterThan(String value) {
            addCriterion("statis_up_user >", value, "statisUpUser");
            return (Criteria) this;
        }

        public Criteria andStatisUpUserGreaterThanOrEqualTo(String value) {
            addCriterion("statis_up_user >=", value, "statisUpUser");
            return (Criteria) this;
        }

        public Criteria andStatisUpUserLessThan(String value) {
            addCriterion("statis_up_user <", value, "statisUpUser");
            return (Criteria) this;
        }

        public Criteria andStatisUpUserLessThanOrEqualTo(String value) {
            addCriterion("statis_up_user <=", value, "statisUpUser");
            return (Criteria) this;
        }

        public Criteria andStatisUpUserLike(String value) {
            addCriterion("statis_up_user like", value, "statisUpUser");
            return (Criteria) this;
        }

        public Criteria andStatisUpUserNotLike(String value) {
            addCriterion("statis_up_user not like", value, "statisUpUser");
            return (Criteria) this;
        }

        public Criteria andStatisUpUserIn(List<String> values) {
            addCriterion("statis_up_user in", values, "statisUpUser");
            return (Criteria) this;
        }

        public Criteria andStatisUpUserNotIn(List<String> values) {
            addCriterion("statis_up_user not in", values, "statisUpUser");
            return (Criteria) this;
        }

        public Criteria andStatisUpUserBetween(String value1, String value2) {
            addCriterion("statis_up_user between", value1, value2, "statisUpUser");
            return (Criteria) this;
        }

        public Criteria andStatisUpUserNotBetween(String value1, String value2) {
            addCriterion("statis_up_user not between", value1, value2, "statisUpUser");
            return (Criteria) this;
        }

        public Criteria andStatisUpDateIsNull() {
            addCriterion("statis_up_date is null");
            return (Criteria) this;
        }

        public Criteria andStatisUpDateIsNotNull() {
            addCriterion("statis_up_date is not null");
            return (Criteria) this;
        }

        public Criteria andStatisUpDateEqualTo(Date value) {
            addCriterion("statis_up_date =", value, "statisUpDate");
            return (Criteria) this;
        }

        public Criteria andStatisUpDateNotEqualTo(Date value) {
            addCriterion("statis_up_date <>", value, "statisUpDate");
            return (Criteria) this;
        }

        public Criteria andStatisUpDateGreaterThan(Date value) {
            addCriterion("statis_up_date >", value, "statisUpDate");
            return (Criteria) this;
        }

        public Criteria andStatisUpDateGreaterThanOrEqualTo(Date value) {
            addCriterion("statis_up_date >=", value, "statisUpDate");
            return (Criteria) this;
        }

        public Criteria andStatisUpDateLessThan(Date value) {
            addCriterion("statis_up_date <", value, "statisUpDate");
            return (Criteria) this;
        }

        public Criteria andStatisUpDateLessThanOrEqualTo(Date value) {
            addCriterion("statis_up_date <=", value, "statisUpDate");
            return (Criteria) this;
        }

        public Criteria andStatisUpDateIn(List<Date> values) {
            addCriterion("statis_up_date in", values, "statisUpDate");
            return (Criteria) this;
        }

        public Criteria andStatisUpDateNotIn(List<Date> values) {
            addCriterion("statis_up_date not in", values, "statisUpDate");
            return (Criteria) this;
        }

        public Criteria andStatisUpDateBetween(Date value1, Date value2) {
            addCriterion("statis_up_date between", value1, value2, "statisUpDate");
            return (Criteria) this;
        }

        public Criteria andStatisUpDateNotBetween(Date value1, Date value2) {
            addCriterion("statis_up_date not between", value1, value2, "statisUpDate");
            return (Criteria) this;
        }

        public Criteria andStatisIsdeleteIsNull() {
            addCriterion("statis_isdelete is null");
            return (Criteria) this;
        }

        public Criteria andStatisIsdeleteIsNotNull() {
            addCriterion("statis_isdelete is not null");
            return (Criteria) this;
        }

        public Criteria andStatisIsdeleteEqualTo(Integer value) {
            addCriterion("statis_isdelete =", value, "statisIsdelete");
            return (Criteria) this;
        }

        public Criteria andStatisIsdeleteNotEqualTo(Integer value) {
            addCriterion("statis_isdelete <>", value, "statisIsdelete");
            return (Criteria) this;
        }

        public Criteria andStatisIsdeleteGreaterThan(Integer value) {
            addCriterion("statis_isdelete >", value, "statisIsdelete");
            return (Criteria) this;
        }

        public Criteria andStatisIsdeleteGreaterThanOrEqualTo(Integer value) {
            addCriterion("statis_isdelete >=", value, "statisIsdelete");
            return (Criteria) this;
        }

        public Criteria andStatisIsdeleteLessThan(Integer value) {
            addCriterion("statis_isdelete <", value, "statisIsdelete");
            return (Criteria) this;
        }

        public Criteria andStatisIsdeleteLessThanOrEqualTo(Integer value) {
            addCriterion("statis_isdelete <=", value, "statisIsdelete");
            return (Criteria) this;
        }

        public Criteria andStatisIsdeleteIn(List<Integer> values) {
            addCriterion("statis_isdelete in", values, "statisIsdelete");
            return (Criteria) this;
        }

        public Criteria andStatisIsdeleteNotIn(List<Integer> values) {
            addCriterion("statis_isdelete not in", values, "statisIsdelete");
            return (Criteria) this;
        }

        public Criteria andStatisIsdeleteBetween(Integer value1, Integer value2) {
            addCriterion("statis_isdelete between", value1, value2, "statisIsdelete");
            return (Criteria) this;
        }

        public Criteria andStatisIsdeleteNotBetween(Integer value1, Integer value2) {
            addCriterion("statis_isdelete not between", value1, value2, "statisIsdelete");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}